<html>
  <head>
	  	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    	<title>Education_01</title>
    	<link href="https://cdn.bootcdn.net/ajax/libs/highlight.js/10.5.0/styles/gradient-light.min.css" rel="stylesheet">
        <script src="http://cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script> 
        <script type="text/javascript">
            !function(e) {
                "use strict";
                function t() {
                    "complete" === document.readyState ? n() : e.addEventListener("DOMContentLoaded", n)
                }
                function n() {
                    try {
                        var e = document.querySelectorAll("code.hljs");
                        for (var t in e) e.hasOwnProperty(t) && r(e[t])
                    } catch(n) {
                        console.error("LineNumbers error: ", n)
                    }
                }
                function r(e) {
                    if ("object" == typeof e) {
                        var t = e.parentNode,
                        n = o(t.textContent);
                        if (n > 1) {
                            for (var r = "",
                            c = 0; n > c; c++) r += c + 1 + "\n";
                            var l = document.createElement("code");
                            l.className = "hljs hljs-line-numbers",
                            l.style["float"] = "left",
                            l.textContent = r,
                            t.insertBefore(l, e)
                        }
                    }
                }
                function o(e) {
                    if (0 === e.length) return 0;
                    var t = /\r\n|\r|\n/g,
                    n = e.match(t);
                    return n = n ? n.length: 0,
                    e[e.length - 1].match(t) || (n += 1),
                    n
                }
                "undefined" == typeof e.hljs ? console.error("highlight.js not detected!") : (e.hljs.initLineNumbersOnLoad = t, e.hljs.lineNumbersBlock = r)
            } (window); </script>
        <script >hljs.initHighlightingOnLoad();</script> 
        <script >hljs.initLineNumbersOnLoad();</script> 
		<link href="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/github1.css" media="all" rel="stylesheet" type="text/css"/>
		<link href="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/github2.css" media="all" rel="stylesheet" type="text/css"/>
		<link href="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/zTreeStyle.css" media="all" rel="stylesheet" type="text/css"/>

	  	<style>
	  		/* begin！=====================================代码行号样式======================================*/
	        .hljs-line-numbers{
	            padding-right: 5px !important;
	            margin-right: 5px !important;
	            border-right: 1.5px solid pink !important;
	            -webkit-touch-callout: none;
			 	-webkit-user-select: none;
			  	-khtml-user-select: none;
			  	-moz-user-select: none;
			  	-ms-user-select: none;
			  	user-select: none;
	        }
	        /* end！======================================代码行号样式======================================*/

		  	/* begin！======================================Gradient心跳渐变明亮主题======================================*/
	 		/*全局背景主题色*/
	        pre,body,#readme .markdown-body{
	            /*background: repeating-linear-gradient(142deg, rgba(255,253,141,0.2) 0%, rgba(252,183,255,0.4) 10%, rgba(144,236,255,0.4) 20%, rgba(252,183,255,0.4) 30%, rgba(255,253,141,0.2) 40%);*/
				background: linear-gradient(45deg, rgba(255,253,141,0.2), rgba(252,183,255,0.4), rgba(144,236,255,0.4), rgba(252,183,255,0.4), rgba(255,253,141,0.2));
			    background-size: 1400% 300%;
			    animation: dynamics 20s ease infinite;
	        }
	        pre {
			    background: repeating-radial-gradient(circle at left top, rgba(255,253,141,0.2) 0%, rgba(252,183,255,0.2) 10%, rgba(144,236,255,0.2) 20%, rgba(252,183,255,0.2) 30%, rgba(255,253,141,0.2) 40%);
			}
			/*横竖滚动条尺寸样式*/
			::-webkit-scrollbar {
			    width: 8px;
			    height: 8px;
			}
			/*滚动条滑块样式-渐变主题*/
			::-webkit-scrollbar-thumb {
			    /*background: rgba(241, 130, 95, 1);*/
			    border-radius: 8px;
			    background-color: skyblue;
			    background-image: -webkit-linear-gradient( 45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent );
			}
			/*滚动条滑块激活样式*/
			::-webkit-scrollbar-thumb:active {
			    background: rgba(241, 130, 95, 1);
			}
			/*滚动条轨道样式*/
			::-webkit-scrollbar-track {
			    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
			    border-radius: 10px;
			    background: #ededed;
			    /*background: #20201d;*/
			    /*background: rgba(55,32,158,1);*/
			}
			/*动画规则*/
			@keyframes dynamics {
			    0% {
			        background-position: 0% 0%;
			    }
			    50% {
			        background-position: 50% 100%;
			    }
			    100% {
			        background-position: 100% 0%;
			    }
			}
	        /*全局修复配置*/
	        body{
	            color: black;
	        }
	        /* end！======================================Gradient心跳渐变明亮主题======================================*/

			pre {
			    counter-reset: line-numbering;
			    border: solid 1px #d9d9d9;
			    border-radius: 0;
			    /*background: #fff;*/
			    padding: 0;
			    line-height: 23px;
			    margin-bottom: 30px;
			    white-space: pre;
			    overflow-x: auto;
			    word-break: inherit;
			    word-wrap: inherit;
			}

			pre a::before {
			  content: counter(line-numbering);
			  counter-increment: line-numbering;
			  padding-right: 1em; /* space after numbers */
			  width: 25px;
			  text-align: right;
			  opacity: 0.7;
			  display: inline-block;
			  color: #aaa;
			  background: #eee;
			  margin-right: 16px;
			  padding: 2px 10px;
			  font-size: 13px;
			  -webkit-touch-callout: none;
			  -webkit-user-select: none;
			  -khtml-user-select: none;
			  -moz-user-select: none;
			  -ms-user-select: none;
			  user-select: none;
			}

			pre a:first-of-type::before {
			  padding-top: 10px;
			}

			pre a:last-of-type::before {
			  padding-bottom: 10px;
			}

			pre a:only-of-type::before {
			  padding: 10px;
			}

			.highlight { background-color: #ffffcc } /* RIGHT */
		</style>
  </head>
  <body>
	  <div>
				<div style='width:25%;'>
						<ul id="tree" class="ztree" style='width:100%'>

						</ul>
				</div>
        <div id='readme' style='width:70%;margin-left:20%;'>
          	<article class='markdown-body'>
            	<p style="text-align:center;font-size:36px;color:orange">OnlineEducation_01</p>

<h1 id="1-">1.在线教育行业介绍</h1>
<h2 id="1-">1)-什么是在线教育</h2>
<h3 id="-1-">[1]-起源</h3>
<p><strong>萨尔曼·可汗：</strong>孟加拉裔，1976年出生在美国，教育工作者，可汗学院（Khan Academy - <a href="https://www.khanacademy.org/）的创始人。">https://www.khanacademy.org/）的创始人。</a>  </p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/0.8904256094160405.png" alt="img"></p>
<h3 id="-2-">[2]-意义</h3>
<p>通过网络，学员与教师即使相隔万里也可以开展教学活动；</p>
<p>1）突破时间和空间的限制，提升学习效率；</p>
<p>2）解决教育资源不平等，使教育资源共享化，降低了学习门槛。</p>
<h2 id="2-">2)-八种商业模式</h2>
<h3 id="-1-b2c-">[1]-B2C模式</h3>
<p><strong>Business To Customer 会员模式</strong></p>
<p>商家到用户，这种模式是自己制作大量自有版权的视频，放在自有平台上。 这种模式简单，快速，只要专心录制大量视频即可快速发展。但在中国由于版权保护意识不强，教育内容易于复制，有海量的免费资源的竞争对手众多等原因，难以取得像样的现金流。</p>
<p><strong>代表网站：</strong>谷粒学院 <a href="http://www.gulixueyuan.com/">http://www.gulixueyuan.com/</a></p>
<h3 id="-2-c2c-">[2]-C2C模式</h3>
<p><strong>Consumer To Consumer 平台模式</strong> </p>
<p>用户到用户，这种模式本质是将自己的流量或者用户转卖给视频或者直播的内容提供者，通过出售内容分成获利。平台模式避开了非常沉重的内容和服务，扩张迅速。</p>
<p><strong>代表网站：</strong>51cto <a href="http://edu.51cto.com/">http://edu.51cto.com/</a></p>
<h3 id="-3-b2b2c">[3]-B2B2C</h3>
<p><strong>商家到商家到用户</strong></p>
<p>平台链接第三方教育机构和用户，平台一般不直接提供课程内容，而是更多承担教育的互联网载体角色，为教学过程各个环节提供全方位支持和服务。</p>
<p>B2B2C是C2C模式的更全面、更完整的表现形式</p>
<p><strong>代表网站：</strong>腾讯课堂 <a href="https://ke.qq.com/">https://ke.qq.com/</a></p>
<h3 id="-4-1-1">[4]-1对1</h3>
<p>让一个讲师在一定时间内对一个学员进行辅导，学生按照时间支付费用。这种模式收费容易， 现金流好，产品难度不大，市场空间大，但是人力资源的获取消耗却是巨大的，如果师资上控制不好，比如优秀的讲师留不住，或者整体成本太大，都会导致 1 对 1 模式难以发展。</p>
<p><strong>代表网站：</strong>VIPKID <a href="https://www.vipkid.com.cn/">https://www.vipkid.com.cn/</a> 一对一北美外教</p>
<h3 id="-5-">[5]-直播、互动</h3>
<p>这种模式将传统课堂上的反馈，交互，答疑搬到线上。让用户容易接受，只要服务贴心，用 户就愿意买单，因此有丰富现金流。但缺陷是只能通过平台吸引用户，造成了竞争门槛过低， 模式雷同，对手众多，收益的永远是拥有流量或者用户的大平台。</p>
<p><strong>代表网站：</strong>保利威直播云 <a href="http://live.polyv.net/#/channel">http://live.polyv.net</a> 教育类企业</p>
<h3 id="-6-">[6]-垂直领域</h3>
<p>这种模式需要糅合录播，直播，1对1、帮助服务等多种手段，对学生学习某一项内容负责。这种模式收费高，有较强的壁垒。这种产品一旦形成口碑，会有稳定的用户群和收入。</p>
<p>代表网站：猿辅导 <a href="https://www.yuanfudao.com/">https://www.yuanfudao.com/</a> 国内 K-12 在线教育领域独角兽公司</p>
<h3 id="-7-o2o-">[7]-O2O 模式</h3>
<p><strong>Online To Offline 线上到线下</strong></p>
<p>就是通过免费内容或者运营，让线上平台获取用户和流量，将用户吸引到线下业务的开展，或者让学员到加盟的线下机构上课。这种模式形式简单，收益高，只要把控用户需求，吸引到用户，收费不成问题，而且符合传统的消费习惯。</p>
<p><strong>代表网站：</strong></p>
<p>启德教育 <a href="https://www.eic.org.cn/">https://www.eic.org.cn/</a></p>
<h3 id="-8-freemium">[8]-freemium</h3>
<p><strong>免费增值</strong></p>
<p>Freemium最早在2006年提出, 指的是用免费服务吸引用户，然后通过增值服务，将部分免费用户转化为收费用户，实现变现。Freemium模式中有“二八定律”的因素，即一小部分对价格不敏感的高端用户，愿意为一些额外的功能付费，为服务提供者带来大部分收入。</p>
<p><strong>代表网站\</strong>：****学堂在线 <a href="http://www.xuetangx.com/">http://www.xuetangx.com/</a> </p>
<p>课程免费，如果希望得到课程的认证证书则要缴纳相应的费用</p>
<h2 id="3-">3)-十个行业分类</h2>
<h3 id="-1-">[1]-母婴</h3>
<p>尽管母婴在线教育市场已经发展多年，但行业总体仍处于赚吆喝不赚钱的状态，主要原因在于国内垂直母婴网站大多存在同质化竞争激烈和盈利模式单一问题，从在线教育的内容来看，大部分母婴网站功能类似大多是基础的母婴知识库问题，咨询交流社区的内容，特色区分并不明显。</p>
<p>妈妈网 <a href="https://www.mama.cn/">https://www.mama.cn/</a> 类似社交网站</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/f2e843af-b0fe-4f60-bfba-65bff4e6f042.jpg" alt="img"></p>
<h3 id="-2-">[2]-学前教育</h3>
<p>学前教育的市场，整体市场还处于起步阶段，随着针对孩子的培养和教育的重视，未来市场的发展将潜力无限。</p>
<p>宝宝巴士 <a href="https://www.babybus.com">https://www.babybus.com</a> 核心产品是丰富的幼儿早教APP</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/8abece97-616f-4e9f-bbac-e03f0ba0b12f.jpg" alt="img"></p>
<h3 id="-3-">[3]-少儿外语</h3>
<p>国内在线少儿外语教育领域持续风起云涌，比如新东方VIPKID， ABC，51talk，海绵外语，爱卡微口语，魔方英语等为代表的英语在线教育公司，以新东方，好未来，英孚为代表的传统培训机构</p>
<p>VIPKID <a href="https://www.vipkid.com.cn/">https://www.vipkid.com.cn/</a> 北美外教一对一在线教学</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/da21f79c-e491-4b4e-b66a-9cc44b53d857.jpg" alt="img"></p>
<h3 id="-4-">[4]-中小学生</h3>
<p>中小学在线教育呈现多样化发展，同时竞争压力在加剧，不断有创业者进入这个领域，或者传统教育机构开始布局，尤其在国内的一线城市，目前这方面影响力广泛的APP有很多，比如学而思网校，学大教育网，作业帮，猿辅导等</p>
<p>学而思 <a href="https://www.xueersi.com">https://www.xueersi.com</a> 录播、直播、一对一</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/3240424d-7165-4789-b1d7-4a98cf328626.jpg" alt="img"></p>
<h3 id="-5-">[5]-高校学生</h3>
<p>目前市场主要集中在学历教育方面，国家对于网校的毕业证正在逐步认可，但是需要教学机构相当大的影响力，除了学历教育以外，就是学校自己开发的在线课程平台，专业性课程主要对内部学生开放，其他基础性课程对公开课对外开放。</p>
<p>中国大学慕课 <a href="http://www.icourse163.org">http://www.icourse163.org</a> </p>
<p>由高教社联手网易推出，让每一个有提升愿望的用户能够学到中国知名高校的课程，并获得认证。</p>
<p>学堂在线 <a href="http://www.xuetangx.com/">http://www.xuetangx.com/</a> </p>
<p>由清华大学研发出的中文MOOC，面向全球提供在线课程。</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/d0eec75a-3fe8-4892-ae76-6a06563f85ae.jpg" alt="img"></p>
<h3 id="-6-">[6]-留学</h3>
<p>教育部统计显示，中国目前每年的出国留学生总数在四十万人左右，其中本科及以下层面就读的人数增长迅猛，低龄化趋势明显，在线教育市场向二三线城市蔓延，与留学相关的在线教育培训机构迅速增加。</p>
<p>启德考培在线 <a href="http://qide.edusoho.cn/">http://qide.edusoho.cn/</a></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/06258078-cd4e-495a-b116-8bb432f5b535.jpg" alt="img"></p>
<h3 id="-7-">[7]-职业考试</h3>
<p>职业教育的投融资情况表现稳定，目前仍是在线教育领域内的热门投资板块，中国在线教育市场中职业教育的占比高达30%以上，另外官方也鼓励发展职业教育。</p>
<p>中公教育 <a href="http://www.offcn.com/">http://www.offcn.com/</a> 公务员考试，各种职业资格认证考试，线下培训和网校</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/74466111-fe4a-4a6b-a997-6198b190fc47.jpg" alt="img"></p>
<h3 id="-8-">[8]-职业技能</h3>
<p>职业技能的培训，是目前在线教育市场发展迅速的领域，其中一些企业已经形成了一定的品牌，如腾讯课堂，网易云课堂，51CTO等，总体占据了市场的85%使用率，另外现有在线职业教育服务和it培训等，聚焦于垂直领域，专业性虽强。</p>
<p>51cto <a href="http://edu.51cto.com/">http://edu.51cto.com/</a> </p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/8d3866be-0a1d-4bd3-aa6f-8017de9a3fe0.jpg" alt="img"></p>
<h3 id="-9-">[9]-成人外语</h3>
<p>与少儿外语更注重基础性不同，成人外语主要是培优业务较多，更注重高水平的外语知识，同时小语种的学习人数也在增多。</p>
<p>沪江外语：<a href="https://www.hujiang.com/">https://www.hujiang.com/</a></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/177cd098-4d80-4388-b38b-75be5bca4ff6.jpg" alt="img"></p>
<h3 id="-10-">[10]-个人兴趣</h3>
<p>调查显示，超过30%的用户表示在网上学习不仅是为了“参加考试”和“提升职业技能”，同时还是为了满足个人“兴趣爱好”。与传统教育相比，兴趣教育对用户具有更强的驱动力。社会主流人群可支配收入的增长，促使兴趣培训市场的体量进一步提升。</p>
<p>keep：<a href="https://www.gotokeep.com/">https://www.gotokeep.com/</a></p>
<p>跳跳：<a href="http://www.tiaooo.com/index.html">http://www.tiaooo.com/index.html</a></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/259956cd76cce33a8e7aefe5c84bf336.png" alt="img"></p>
<h1 id="2-">2.谷粒学院项目介绍</h1>
<h2 id="1-">1)-功能简介</h2>
<p>谷粒学院，是一个B2C模式的职业技能在线教育系统，分为前台用户系统和后台运营平台。  </p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/b22bb49d-a2cf-472d-a79d-a41b21a76926.jpg" alt="img"></p>
<h2 id="2-">2)-技术架构</h2>
<p>系统开发阶段使用了前后端分离架构，部署阶段使用了容器技术</p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/daba80fe3af32d13fb39c3a0635f25e4.png" alt="img"></p>
<h1 id="3-mybatis_plus-">3.MyBatis_Plus环境的搭建</h1>
<h2 id="1-">1)-简介</h2>
<p><a href="https://github.com/baomidou/mybatis-plus">MyBatis-Plus</a>（简称 MP）是一个 <a href="http://www.mybatis.org/mybatis-3/">MyBatis</a> 的增强工具，在 MyBatis 的基础上只做增强不做改变，为简化开发、提高效率而生。</p>
<ul>
<li><p>润物无声  </p>
<ul>
<li>只做增强不做改变，引入它不会对现有工程产生影响，如丝般顺滑。</li>
</ul>
</li>
<li><p>效率至上</p>
<ul>
<li>只需简单配置，即可快速进行 CRUD 操作，从而节省大量时间。</li>
</ul>
</li>
<li><p>丰富功能</p>
<ul>
<li>热加载、代码生成、分页、性能分析等功能一应俱全。</li>
</ul>
</li>
<li><p>官网：<a href="http://mp.baomidou.com/guide/">http://mp.baomidou.com</a></p>
<p>参考教程：<a href="http://mp.baomidou.com/guide/">http://mp.baomidou.com/guide/</a></p>
</li>
</ul>
<h2 id="2-">2)-搭建开发环境</h2>
<h3 id="-1-">[1]-找一个干净的目录创建一个新的文件夹</h3>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/6b9a80cc-287a-425e-b5a1-e6bcb2009b3e.png" alt="img"></p>
<h3 id="-2-maven-">[2]-把maven和仓库拷贝到刚刚的文件夹下解压</h3>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/4763c6fc-e7fb-4520-a9e9-ab98b2758b48.png" alt="img"></p>
<h3 id="-3-project-">[3]-创建一个project项目</h3>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/f15ae094-fdf2-401b-9862-0d9ad2716b55.png" alt="img"></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/af8a3ab2-974a-4b7e-b262-37cdcdf3f293.png" alt="img"></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/72357522-1b96-4839-8215-074eb9db55d2.png" alt="img"></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/8908a952-d575-42f6-b344-e948d6a7e2d1.png" alt="img"></p>
<h3 id="-4-maven">[4]-修改maven</h3>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/9f3152ce-d5f6-4c49-a514-7fe8646af176.png" alt="img"></p>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/59464310-1ea7-4ae3-a3a6-230543105a85.png" alt="img"></p>
<h1 id="4-mp-">4.mp的使用</h1>
<h2 id="1-">1)-创建数据库</h2>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/b51cf1e2-8b17-460d-a154-bd7da74328fa.png" alt="img"></p>
<h2 id="2-">2)-数据库数据信息</h2>
<pre><code class="lang-sql">CREATE TABLE user
(
    id BIGINT(20) NOT NULL COMMENT &#39;主键ID&#39;,
    name VARCHAR(30) NULL DEFAULT NULL COMMENT &#39;姓名&#39;,
    age INT(11) NULL DEFAULT NULL COMMENT &#39;年龄&#39;,
    email VARCHAR(50) NULL DEFAULT NULL COMMENT &#39;邮箱&#39;,
    PRIMARY KEY (id)
);
--插入数据
INSERT INTO user (id, name, age, email) VALUES
(1, &#39;Jone&#39;, 18, &#39;test1@baomidou.com&#39;),
(2, &#39;Jack&#39;, 20, &#39;test2@baomidou.com&#39;),
(3, &#39;Tom&#39;, 28, &#39;test3@baomidou.com&#39;),
(4, &#39;Sandy&#39;, 21, &#39;test4@baomidou.com&#39;),
(5, &#39;Billie&#39;, 24, &#39;test5@baomidou.com&#39;);
</code></pre>
<h2 id="3-">3)-添加依赖</h2>
<pre><code class="lang-java">&lt;!--mybatis-plus--&gt;
&lt;dependency&gt;
    &lt;groupId&gt;com.baomidou&lt;/groupId&gt;
    &lt;artifactId&gt;mybatis-plus-boot-starter&lt;/artifactId&gt;
    &lt;version&gt;3.0.5&lt;/version&gt;
&lt;/dependency&gt;

&lt;!--mysql--&gt;
&lt;dependency&gt;
    &lt;groupId&gt;mysql&lt;/groupId&gt;
    &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
&lt;/dependency&gt;

&lt;!--lombok用来简化实体类--&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.projectlombok&lt;/groupId&gt;
    &lt;artifactId&gt;lombok&lt;/artifactId&gt;
&lt;/dependency&gt;
</code></pre>
<h2 id="4-">4)-拷贝配置文件</h2>
<pre><code class="lang-properties">spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
spring.datasource.username=root
spring.datasource.password=123456
</code></pre>
<h2 id="5-">5)-编写实体映射类</h2>
<pre><code class="lang-java">package com.atguigu.entity;

import lombok.*;

@Data
@ToString
//全参构造函数
@AllArgsConstructor
//无参构造函数
@NoArgsConstructor
@EqualsAndHashCode
public class User {
    private Long id;
    private String name;
    private int age;
    private String email;
}
</code></pre>
<h2 id="6-mapper">6)-编写mapper</h2>
<pre><code class="lang-java">package com.atguigu.mapper;

import com.atguigu.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper extends BaseMapper&lt;User&gt; {
}
</code></pre>
<h2 id="7-">7)-编写查询所有用户信息</h2>
<pre><code class="lang-java">//是junit4提供的注解 讲spring环境与juit融合起来
@RunWith(SpringRunner.class)
//代表提供一个spring容器
@SpringBootTest
public class MybatisPlusApplicationTests {
    @Autowired
    private UserMapper userMapper;
    //1.查询所有的数据
    @Test
    public void findAllUser() {
        List&lt;User&gt; users = userMapper.selectList(null);
        for (User user : users) {
            System.out.println(user);
        }
        System.out.println(UUID.randomUUID().toString());
    }
}
</code></pre>
<h2 id="8-_-exclusions-">8)-修改的内容_把exclusions干掉</h2>
<p><img src="https://gitee.com/zachfan/picbed/raw/master/images/c6d68974-8d9c-45d5-a2d9-0c648c8e0d70.png" alt="img"></p>
<h2 id="9-">9)-遇到的问题</h2>
<pre><code class="lang-properties">a.MybatisPlusApplicationTests is not public
    加上public
b.The server time zone value &#39;����˹ TZ 7 ��׼ʱ��&#39; is unrecognized
    时区问题 serverTimezone=GMT%2B8
c.No qualifying bean of type &#39;com.atguigu.mapper.UserMapper&#39; available
    主类添加@MapperScan(&quot;com.atguigu.mapper&quot;)
d.Loading class `com.mysql.jdbc.Driver&#39;. This is deprecated
    com.mysql.cj.jdbc.Driver
</code></pre>
<h2 id="10-">10)-添加新用户</h2>
<pre><code class="lang-java">//2.添加新的用户
@Test
public void testAddUser() {
    User user = new User();
    user.setName(&quot;隔壁老王&quot;);
    user.setAge(18);
    user.setEmail(&quot;lisi@atguigu.com&quot;);
    userMapper.insert(user);
    System.out.println(&quot;over&quot;);
}
</code></pre>
<h1 id="5-id-">5.分布式系统唯一ID生成方案</h1>
<p>   <a href="https://www.cnblogs.com/haoxinyue/p/5208136.html">https://www.cnblogs.com/haoxinyue/p/5208136.html</a></p>
<h1 id="x-">X.代码块</h1>
<h2 id="1-properties">1)-Properties</h2>
<pre><code class="lang-properties"># Gitee图床前缀
https://gitee.com/zachfan/picbed/raw/master/image/

# 本地图床前缀
E:\Notespace\Typoraspace\image\
</code></pre>
<h2 id="2-java">2)-Java</h2>
<pre><code class="lang-java">public void main(String[] args){
  print.out.println(&quot;HelloWorld&quot;);
}
</code></pre>
<h2 id="3-javascript">3)-Javascript</h2>
<pre><code class="lang-js">console.log(&quot;HelloWorld&quot;);
</code></pre>
<h2 id="4-python">4)-Python</h2>
<pre><code class="lang-python">print(&#39;HelloWorld&#39;)
</code></pre>
<h2 id="5-go">5)-Go</h2>
<pre><code class="lang-go">package main
import &quot;fmt&quot;
func main() {
    fmt.Println(&quot;HelloWorld&quot;)
}
</code></pre>
<h2 id="6-yaml">6)-Yaml</h2>
<pre><code class="lang-yaml">server: 
    port: 8080
</code></pre>
<table style="text-align: center;">
    <tr>
        <td><a href="">LastPage</a></td>
        <td><a href="">Back</a></td>
        <td><a href="">NextPage</a></td>
    </tr>
    <tr>
        <td>静态博客网站版本：0.0.1</td>
        <td>作者：周克凡</td>
        <td>最近更新日期：2021-03-08</td>
    </tr>
</table> 
          	</article>
        </div>
		</div>
  </body>
</html>
<script type="text/javascript" src="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/jquery.ztree.all-3.5.min.js"></script>
<script type="text/javascript" src="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/ztree_toc.js"></script>
<script type="text/javascript" src="http://thanhugo.gitee.io/selftyporaweb/config/ztree_toc/toc_conf.js"></script>

<SCRIPT type="text/javascript" >
<!--
$(document).ready(function(){
    var css_conf = eval(markdown_panel_style);
    $('#readme').css(css_conf)
    
    var conf = eval(jquery_ztree_toc_opts);
		$('#tree').ztree_toc(conf);
});
//-->
</SCRIPT>